<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<script>
//对象即无序的数据集合 已经命名的数据集合 是复杂数据类型
//new出来的都是对象 对象都不相等 对象都有私有属性 对象都有应用机制    

//创建对象   
    //1     
    var obj = {  //定义对象   {}包含 ,号隔开属性 属性：属性值
        a:123,   //对象属性
        b:312    //对象属性
    }
  

    //访问对象
        //直接通过 . 运算符来访问对象的属性
//例子1
    var obj = {
        x:2.3,
        y:-1.2
    };
    var x = obj.x;
    console.log(x)  //2.3
    //对象的属性值可以是简单值，或复杂值比如函数 对象
    //当属性值是函数时。该属性就被称为对象的 方法 。使用（）括号可以访问该方法  


//例子2
//使用 . 运算符访问对象obj的f 属性 然后用（）括号调用对象的方法f()
   var obj2 = {
       f:function(){                  //对象方法
           return this.y;             //返回当前对象的属性值y  //使用关键字this代表当前对象 。this总指向调用当前方法的对象
       },                             //
       y:123                          //对象的属性
   };
   var m = obj2.f()                   //调用对象的方法
   console.log(m)  //123         

//例子3
//属性值为对象时 可嵌套对象 可连续使用 . 运算符访问内部的对象
   var obj3 = {                       //外部对象
       x:{                            //嵌套对象
           a:1,                       //内部对象的属性 
           b:2                        //
       },                             //
       y:1231231                      //外部对象的属性
   };                                 //
   var q =obj3.x.a;                   //访问嵌套对象的属性  
// var q = obj3['x']['a']             //!拓展通过[]集合运算符 下标字符串是对象的属性名 属性名必须加''引号 表示为下标字符串
   console.log(q)  //1










    
    




        
	


</script>